﻿namespace KeRui.DAL
{
    using KeRui.DBUtility;
    using KeRui.Model;
    using System;
    using System.Data;
    using System.Data.SqlClient;

    public class CmsCatchParseUrl
    {
        public int Add(KeRui.Model.CmsCatchParseUrl model)
        {
            int num;
            SqlParameter[] parameters = new SqlParameter[] { new SqlParameter("@ParseUrlID", SqlDbType.Int, 4), new SqlParameter("@ParseUrlDomain", SqlDbType.VarChar, 100), new SqlParameter("@ParseUrlRegex", SqlDbType.NVarChar), new SqlParameter("@ParseContentID", SqlDbType.Int, 4), new SqlParameter("@ParseContentName", SqlDbType.NVarChar, 50), new SqlParameter("@UseCount", SqlDbType.Int, 4), new SqlParameter("@UseLastTime", SqlDbType.DateTime), new SqlParameter("@State", SqlDbType.Int, 4), new SqlParameter("@CreateTime", SqlDbType.DateTime), new SqlParameter("@CreateUserID", SqlDbType.Int, 4), new SqlParameter("@CreateUserName", SqlDbType.NVarChar, 50), new SqlParameter("@UpdateTime", SqlDbType.DateTime), new SqlParameter("@UpdateUserID", SqlDbType.Int, 4), new SqlParameter("@UpdateUserName", SqlDbType.NVarChar, 50) };
            parameters[0].Direction = ParameterDirection.Output;
            parameters[1].Value = model.ParseUrlDomain;
            parameters[2].Value = model.ParseUrlRegex;
            parameters[3].Value = model.ParseContentID;
            parameters[4].Value = model.ParseContentName;
            parameters[5].Value = model.UseCount;
            parameters[6].Value = model.UseLastTime;
            parameters[7].Value = model.State;
            parameters[8].Value = model.CreateTime;
            parameters[9].Value = model.CreateUserID;
            parameters[10].Value = model.CreateUserName;
            parameters[11].Value = model.UpdateTime;
            parameters[12].Value = model.UpdateUserID;
            parameters[13].Value = model.UpdateUserName;
            DbHelperSQL.RunProcedure("CmsCatchParseUrl_ADD", parameters, out num);
            return (int) parameters[0].Value;
        }

        public void Delete(int ParseUrlID)
        {
            int num;
            SqlParameter[] parameters = new SqlParameter[] { new SqlParameter("@ParseUrlID", SqlDbType.Int, 4) };
            parameters[0].Value = ParseUrlID;
            DbHelperSQL.RunProcedure("CmsCatchParseUrl_Delete", parameters, out num);
        }

        public bool Exists(int ParseUrlID)
        {
            int num;
            SqlParameter[] parameters = new SqlParameter[] { new SqlParameter("@ParseUrlID", SqlDbType.Int, 4) };
            parameters[0].Value = ParseUrlID;
            return (DbHelperSQL.RunProcedure("CmsCatchParseUrl_Exists", parameters, out num) == 1);
        }

        public KeRui.Model.CmsCatchParseUrl GetModel(int ParseUrlID)
        {
            SqlParameter[] parameters = new SqlParameter[] { new SqlParameter("@ParseUrlID", SqlDbType.Int, 4) };
            parameters[0].Value = ParseUrlID;
            KeRui.Model.CmsCatchParseUrl url = new KeRui.Model.CmsCatchParseUrl();
            DataSet set = DbHelperSQL.RunProcedure("CmsCatchParseUrl_GetModel", parameters, "ds");
            if (set.Tables[0].Rows.Count > 0)
            {
                if (set.Tables[0].Rows[0]["ParseUrlID"].ToString() != "")
                {
                    url.ParseUrlID = int.Parse(set.Tables[0].Rows[0]["ParseUrlID"].ToString());
                }
                url.ParseUrlDomain = set.Tables[0].Rows[0]["ParseUrlDomain"].ToString();
                url.ParseUrlRegex = set.Tables[0].Rows[0]["ParseUrlRegex"].ToString();
                if (set.Tables[0].Rows[0]["ParseContentID"].ToString() != "")
                {
                    url.ParseContentID = int.Parse(set.Tables[0].Rows[0]["ParseContentID"].ToString());
                }
                url.ParseContentName = set.Tables[0].Rows[0]["ParseContentName"].ToString();
                if (set.Tables[0].Rows[0]["UseCount"].ToString() != "")
                {
                    url.UseCount = int.Parse(set.Tables[0].Rows[0]["UseCount"].ToString());
                }
                if (set.Tables[0].Rows[0]["UseLastTime"].ToString() != "")
                {
                    url.UseLastTime = DateTime.Parse(set.Tables[0].Rows[0]["UseLastTime"].ToString());
                }
                if (set.Tables[0].Rows[0]["State"].ToString() != "")
                {
                    url.State = int.Parse(set.Tables[0].Rows[0]["State"].ToString());
                }
                if (set.Tables[0].Rows[0]["CreateTime"].ToString() != "")
                {
                    url.CreateTime = DateTime.Parse(set.Tables[0].Rows[0]["CreateTime"].ToString());
                }
                if (set.Tables[0].Rows[0]["CreateUserID"].ToString() != "")
                {
                    url.CreateUserID = int.Parse(set.Tables[0].Rows[0]["CreateUserID"].ToString());
                }
                url.CreateUserName = set.Tables[0].Rows[0]["CreateUserName"].ToString();
                if (set.Tables[0].Rows[0]["UpdateTime"].ToString() != "")
                {
                    url.UpdateTime = DateTime.Parse(set.Tables[0].Rows[0]["UpdateTime"].ToString());
                }
                if (set.Tables[0].Rows[0]["UpdateUserID"].ToString() != "")
                {
                    url.UpdateUserID = int.Parse(set.Tables[0].Rows[0]["UpdateUserID"].ToString());
                }
                url.UpdateUserName = set.Tables[0].Rows[0]["UpdateUserName"].ToString();
                return url;
            }
            return null;
        }

        public void Update(KeRui.Model.CmsCatchParseUrl model)
        {
            int num;
            SqlParameter[] parameters = new SqlParameter[] { new SqlParameter("@ParseUrlID", SqlDbType.Int, 4), new SqlParameter("@ParseUrlDomain", SqlDbType.VarChar, 100), new SqlParameter("@ParseUrlRegex", SqlDbType.NVarChar), new SqlParameter("@ParseContentID", SqlDbType.Int, 4), new SqlParameter("@ParseContentName", SqlDbType.NVarChar, 50), new SqlParameter("@UseCount", SqlDbType.Int, 4), new SqlParameter("@UseLastTime", SqlDbType.DateTime), new SqlParameter("@State", SqlDbType.Int, 4), new SqlParameter("@CreateTime", SqlDbType.DateTime), new SqlParameter("@CreateUserID", SqlDbType.Int, 4), new SqlParameter("@CreateUserName", SqlDbType.NVarChar, 50), new SqlParameter("@UpdateTime", SqlDbType.DateTime), new SqlParameter("@UpdateUserID", SqlDbType.Int, 4), new SqlParameter("@UpdateUserName", SqlDbType.NVarChar, 50) };
            parameters[0].Value = model.ParseUrlID;
            parameters[1].Value = model.ParseUrlDomain;
            parameters[2].Value = model.ParseUrlRegex;
            parameters[3].Value = model.ParseContentID;
            parameters[4].Value = model.ParseContentName;
            parameters[5].Value = model.UseCount;
            parameters[6].Value = model.UseLastTime;
            parameters[7].Value = model.State;
            parameters[8].Value = model.CreateTime;
            parameters[9].Value = model.CreateUserID;
            parameters[10].Value = model.CreateUserName;
            parameters[11].Value = model.UpdateTime;
            parameters[12].Value = model.UpdateUserID;
            parameters[13].Value = model.UpdateUserName;
            DbHelperSQL.RunProcedure("CmsCatchParseUrl_Update", parameters, out num);
        }
    }
}

